恩尼格码机神器与太平洋海战的转折点
孙子兵法有言:知己知己者,百战不殆。中国传统有斥候和细作侦察敌情,还有八百里加急的情报输送,古人的情报大多依靠于情报人员的记忆。随着信息载体的进步,文字的出现,面对纸张的保密性,军队情报人员创造性地使用信息加密技术。
信息加密就是将常规的情报传递,加上加密和解密的步骤,将信息被敌人截获造成的损失降到最低。古罗马时期领袖利用字母位移方法进行情报初级加密,将所有字母向后唯一,在传递到手之后再进行解密。整体信息无论是加密还是解密都非常方便,唯一的缺点就是容易被敌人破解,但在当时已算是创新之举。
恩尼格码机
一战结束前,各国通信加密能力普遍较差。沙俄密码完全被德国掌握,在东线损兵折将;德国密码对英国又近乎透明,1917年德国拍出一封密电怂恿墨西哥从美国抢回故土德克萨斯州,被英国利用,促成美国参战。在这种情况下,恩尼格玛机应运而生,成为古典密码学的巅峰。
恩尼格码机是人类在密码应用领域承前启后的产物(德语名字是哑谜的意思)。1920年恩尼格码机率先被德国公司发明出来,原本销路不畅、根本卖不出去,到了1923年德国人被英国公开的一战解密报告刺激,环顾市面只有恩尼格码机的加密性能令人满意,之后德军与元首对恩尼格码机一直热爱改进与无限自信,产生了一系列的结果。
恩尼格玛机由三部分组成,从下往上分别是键盘(下方按键),显示板(中间字母显示,通过字母下方的灯泡亮起来显示字母)以及转子(机器上方像齿轮的四个转子)。
若是加密方使用,键盘则输入明码字母,显示板显示加密后的字母,而上面的转子则负责经过一系列的机械及电路设计对输入字母进行加密。若是解密方使用,键盘则输入加密后的字母,显示板显示解密后的字母,而转子则负责通过一系列的机械机电路对输入字谜进行解密。
转子是恩尼格码机的核心部件。最开始只有三个转子,后来为增加破译难度,在1938年后使用五个转子,直至最后增加到八个。这些转子使用罗马数字 I 到 VIII 来识别。第二次世界大战爆发后,恩尼格玛机被德国改进对军事信息加密,在机器的正前方添加了一个接线板。你可别小看加个板子,相当于一百万人每人每分钟用手计算一种可能性,需要差不多三亿年才可以试出来。即便你可以试出来,人家稍微改一下初始位置,又等于要重头再来。
破解恩尼格码
天下没有不透风的墙,1931年负责恩格玛机系统运行的德国通讯部门一把手的弟弟汉斯主动贩卖情报,出卖了几乎全部内部资料给法国。法国人在计算后,深感无力破解,当然也可能觉得有马奇诺防线“金钟罩”护体,就直接放弃了破解。倒是波兰特别上心,因为凡尔赛条约将德国的大片领土划归给波兰,波兰怕自己成为德国第一个被攻击的目标(法国你不要,我要)。
恩尼格玛机毕竟是机械产品,其转子总会周期循环。在操作上,每封电文最开始的六个字母也是由循环所得。基于这些缺陷,波兰数学家马里安.雷杰夫斯基在每天截获的大量电文中,找出了判断转子初始位子的方法。
雷杰夫斯基在恩尼格码的基础上设计了一台能同时验证所有转子位置的机器。并取名为炸弹(La Bomba)。波兰人从每日截获的大量电文中写出字母循环圈,然后根据循环圈的数目和长度从记录表中检索出相对应的转子位子,即是当日的密钥。得到当日密钥之后,波兰人便用其破解每封电文的前六个字母来获得电文的密钥,并用之破解了剩余的电文。
波兰人对恩尼格码的破解在1938年结束。为了战争准备,德国人在几个方面加强了恩尼格码的加密能力。首先,德国军方将原来的3个转子增加到了5个;其次,德国人在恩尼格码机上加入接线板,允许6组字母交换,并最终增加到允许10组字母交换。这大大增加了密钥的总数。由于时间的紧迫及预算的短缺,波兰不得不放弃了对军用恩尼格码的研究。1939年9月,德国闪袭波兰占领华沙,波兰灭亡。所幸的是,波兰在战前已将波兰制造的恩尼格码机,以及“炸弹”的设计图纸都交给了英国和法国。
和波兰一样,英国从大学召集了大批数学家和学生来做密码破解工作,丘吉尔政府将之列为“终极机密”,人力、财力、算力这么一砸,效果立竿见影。英国人延续波兰人的思路,很快搞出了一份份高价值情报。然而1940年5月,德军又又变换密码传递规则,能破译出来的情报又大打折扣。这时阿兰·图灵开挂了,经过算法改进做出了新式的解码机,也叫“炸弹”,破解了德军空军密码。图灵破解方法对德国陆军和空军密码没问题,但德国海军采用的恩尼格玛机最早,保密性最强,一时还无能为力。
为了搞定德国海军的恩尼格玛密码,英国人想出了各种方案,甚至想冒充一个德国士兵,混入潜艇偷密码本。好在德军内部对海军发展思路意见始终不能协调,英国幸运地从德军搁浅潜艇上捞出了密码本。密电频频被破解,空袭英伦效果打大折扣,德军飞行员时常发出灵魂之问“为何英国人总能如此灵敏”。即使如此,德军对恩尼格码机的自信依旧毫不动摇。到1943年,英国人做出人类第一台电子管计算机“巨人计算机”,专门用来破解德军最高层专用的保密能力更强的“洛伦兹”密码机。
解密日本密码,中途岛海战立大功
美国安局的前身是“美国黑室”。创始人雅德利领导着黑室从1917年开始,共破译了45000份各国密码电报。1929年美国国务卿史汀生在阅读文件时发现了美国黑室这个组织,找胡佛总统商量,提出“绅士不窥探他人信件”,然后就关闭了美国黑室。雅德利退役后写出《美国黑室》,详细披露了他截获他国密电的细节。美国气炸了,都想法办了雅德利,但发现甚至没有对应的法条可用,就赶紧立法“亡羊补牢”。
《美国黑室》一书也刺激到了日本,日军强化了密码系统。1934年,日本从德国买下一部恩格马商用密码机,改造出了自己的密码机“九七式欧文印字机”。接着,日本外务省又改进了“九七式欧文印字机”,把它发展成为日本整个外交系统广泛使用的战略级密码体制。《美国黑室》中文译版被戴笠阅读后惊为天人,立马拍板高薪聘请雅德利到达重庆,雅德利在军统的“中国黑室“里破译了日本不少简单密电,如破解了日本空军密电,在重庆大轰炸中拯救无数生命,但对日本更强级别的“紫色机“密电却无能为力。
日本人苦心琢磨搞出的外交密码,早在1940年8月就被美国人破译。不过日本军用密码由万余个5位码组成,几个月就更新一次。在计算机尚未发明的年代里,单纯依靠人工破解似乎难度不小。
1941年4月1日,日军本来打算更换一版新的密码JN25c(日本称海军暗号书D),但由于日本海军省文库工作管理混乱,且战线拉得过长,难以把新的密码按时分发到各舰船,只得继续使用旧的JN25b。5月的珊瑚岛海战中,美日各自损失1艘航空母舰,但美国海军挫败了日军进攻新几内亚莫尔兹比港的计划。这是海军无线电信号侦察支援海战的首次胜利。
1941年12月7日,日本偷袭珍珠港,揭开了太平洋战争的序幕。美海军密码机关集中力量破译日海军各舰队通用密码JN25b(JN为日海军的英文缩写,25为编号,b指第二版)。
美军太平洋舰队仅有航空母舰3艘(舰载机233架),其他舰船约40艘,日军混合舰队则有航空母舰8艘(舰载机400余架),其他舰船200余艘,日海军实力明显占居上风。日本联合舰队的司令长官是赌性十足的山本五十六,他提出了“中途岛战役计划”:首先以部分兵力佯攻北线阿留申群岛,引诱美太平洋舰队北上;同时,主力隐蔽接近中途岛并突击占领之,以包围歼灭美舰队主力,控制东太平洋,迫使美国妥协。
1942年1月,日本"伊号124"潜艇在澳大利亚的达尔文港被美国和澳大利亚海军联合击沉,凑巧的是潜艇沉没海域深度只有不到50米,阳光甚至可以直接照射到残骸上。美国海军决定碰碰运气,看看能打捞出什么有价值的东西,结果成功发现一份尚未被破坏的密码本。如获至宝的美国海军,随即将这份宝贵资料送给了密码天才——罗切福特手中。
美军破译了日本海军进攻准备的情报,但密报中的地点和日期是用代号加密的。经过情报人员的努力,到了5月份美军已掌握了近80%有关日本海军的动向。罗切福特在众多情报中发现"AF"这两个字母出现概率很高,判断联合舰队即将在"AF"这个地方实施大规模军事行动,那么"AF"到底在哪里呢?
罗切福特凭借着惊人的记忆,回想起一份许久前破译的电报,内容是要求驻马绍尔群岛的飞机飞往珍珠港,特别提到要避开"AF"这个地方。罗切福特立即找来了地图,分析日军飞机航程并经过一番计算后,认为"AF"应该就是美国在中太平洋上的门户中途岛。保险起见,罗切福特建议:由中途岛美军用明码发送要求提供淡水的紧急电报,然后再用曾被日军缴获的“条形码”报告岛上淡水设备爆炸。果然,日军在夸贾林岛的监听站报告:“驻AF的美国空军……请立即提供淡水”。由此,美国海军锁定了日军进攻的目标。
5月20日,山本的作战计划通过旗舰“大和”号上的电台发送给各舰,但仍然使用JN25b,该密码本应在5月1日更换,不过再度拖延,因此又被美军侦收和破译,美军掌握了日军准确的进攻时间。美太平洋舰队司令尼米兹决心集中有限兵力隐蔽于中途岛东北海域,乘敌不备,伺机从侧翼伏击日军主力。
5月26日,日海军编队已经出发,5月28日日军才改变密码为JN25c,但战争的机器已经开动,一切仍照计划运转。6月3日,日舰攻击阿留申群岛,美海军不为所动。6月4日,日航母编队落入美军提前布置好的“口袋”中。此战,日海军4艘航空母舰先后起火沉没,飞机损失285架,死亡2000多人,美军仅损失航母1艘,飞机147架,中途岛海争成为太平洋战争的转折点。为挽回败局,山本下令航母舰队退却。他仍想引诱美航空母舰来追,用跟进的主力舰队实施突然反击。可是,美军通过无线电侦察情报获知山本的阴谋,主动撤出了战场。
日海军在中途岛遭遇挫折后,1943年4月,山本五十六准备亲自指挥,计划在所罗门群岛与美军展开海空决战。为实地考察,山本决定乘专机出巡。出巡的日程有两份电报,一份用海军密电拍发,通知到达地点,一份用外交码拍发,通知日本本土。
国民政府情报人员将后一种的密码截获并破译,并立即通知了驻渝的美方。1943年4月18日清晨六点,山本五十六及其幕僚分乘两架专机起飞,由六架战斗机护航,在快要到达第一个目的地巴拉勒飞机场时,突然受到十六架美国空军战斗机的袭击,山本五十六的座机坠落原始森林。第二天,日军找到了堕机的残骸,山本的残骸以及他佩戴的军刀“月山”。
世上有没有绝对不会被破解的密码呢?理论上有,中国成功进行了太空量子卫星的量子秘钥分发和量子信息稳态传输。量子信息传播以两个稳态纠缠的量子为单元传输,一旦其中一方受损,另一方就会失去纠缠状态和携带的信息,这个状态是瞬间变化的,因此绝无截获的可能。东西是死的,人是活的,谁又能保证掌控信息的人不泄密呢?
往期文章: